const path = 'http://192.168.1.115:5002/'

export const setImageSalary = (img) => {
  let token = uni.getStorageSync('token')
  // 接下来就是上传文件
  console.log('接下来就是上传文件',img);
    uni.uploadFile({
      url: path + '/salary/personIdentity',
      filePath: img,
      name: 'file',
      header: {
        Authorization: token
      },
      formData: {
        Authorization: token,
        auditGuid: uni.getStorageSync('admitGuid') //上传人员唯一值 和 人员照片
      },
      timeout: 10000,
      // 如果上传成功
      success: (res) => {
        console.log('文件上传成功',res);
        uni.hideLoading()
        let perstatus = JSON.parse(res.data);
        // 文件上传成功之后 判断上传的文件是否判断成功
        //判断函数回调是否验证成功
        if (perstatus.data == true) {
          //人脸验证成功
          uni.hideLoading()
          uni.showToast({
            title: '人脸验证成功 !',
            icon: 'success',
            duration: 700
          })
          return true
        } else {
          // 人脸验证失败
          console.log('人脸验证失败');
          uni.hideLoading()
          return false
        }
      },
      //如果上传失败
      //提示上传失败 然后停在原地 让用户重新拍照
      fail: (res) => {
        uni.showToast({
          title: '人脸上传失败 请稍候重试',
          icon: 'error'
        })
        uni.hideLoading()
      }
    })
}

export const setImageJob = (img) => {
    let token = uni.getStorageSync('token')
      uni.uploadFile({
        url: path + '/salary/personIdentity',
        filePath: img,
        name: 'file',
        header: {
          Authorization: token
        },
        formData: {
          Authorization: token,
          admitGuid: uni.getStorageSync('admitGuid') //上传人员唯一值 和 人员照片
        },
        timeout: 10000,
        // 如果上传成功
        success: (res) => {
          console.log('文件上传成功的返回值',res);
          uni.hideLoading()
          let perstatus = JSON.parse(res.data); 
          // 文件上传成功之后 判断上传的文件是否判断成功
          console.log('文件上传成功的返回值data',perstatus);
          //判断函数回调是否验证成功
          if(perstatus.data == true){
            //人脸验证成功
            uni.hideLoading()
            uni.showToast({
              title: '人脸验证成功 !',
              icon: 'success',
              duration: 700
            })
            //验证成功 跳转成功页面
            return true
          }else{
            // 人脸验证失败
            uni.hideLoading()
            return false
          }
        },
        //如果上传失败
        //提示上传失败 然后停在原地 让用户重新拍照
        fail: (res) => {
          uni.showToast({
            title: '人脸上传失败 请稍候重试',
            icon: 'error'
          })
          uni.hideLoading()
        }
      })
  
}

export const setImageContractSan = (img) => {
  // 接下来就是上传文件
    uni.uploadFile({
      url: path + 'registerFace',
      filePath: img,
      name: 'file',
      header: {
        Authorization: token
      },
      formData: {
        Authorization: token,
      },
      timeout: 10000,
      // 如果上传成功
      success: (res) => {
        console.log('如果上传成功',res);
        let returnImagePath = JSON.parse(res.data).data
        console.log(returnImagePath);
        //上传图路径和人员id注册
        let flg = this.setPersonImage(returnImagePath)
        console.log('flg',flg);
		return true
      },
      //如果上传失败
      //提示上传失败 然后停在原地 让用户重新拍照
      fail: (res) => {
        uni.showToast({
          title: '人脸上传失败 请稍候重试',
          icon: 'error'
        })
        uni.hideLoading()
		return false
      }
    })
  
}


// 封装获取授权结果, scopeName权限名称
export const getAuthorize = (scopeName) => {
  return new Promise((resove, reject) => {
    wx.getSetting({
      success: res => {
        console.log('封装获取授权结果, scopeName权限名称',res);
        console.log('scopeName权限名称',scopeName);
        // res.authSetting[scopeName] ? resove(true) : resove(false);
        res.authSetting[scopeName] ? resove(true) : resove(true);
      },
      fail: () => resove(false)
    })
  })
};

// 封装设置权限, scopeName权限名称
export const setAuthorize = (scopeName) => {
  return new Promise((resove, reject) => {
    wx.authorize({
      scope: scopeName,
      success: () => resove(true),
      fail: () => resove(false)
    })
  })
};

// 节流函数
export const throttle = (fn, delay = 200) => {
  let timer;
  return function (args) {
    let _this = this;
    if (timer) {
      return;
    }
    timer = setTimeout(() => {
      fn.call(_this, args);
      clearTimeout(timer);
      timer = null;
    }, delay);
  };
};

// 比较版本号
export const compareVersion = (v1, v2) => {
  v1 = v1.split('.')
  v2 = v2.split('.')
  const len = Math.max(v1.length, v2.length)

  while (v1.length < len) {
    v1.push('0')
  }
  while (v2.length < len) {
    v2.push('0')
  }

  for (let i = 0; i < len; i++) {
    const num1 = parseInt(v1[i])
    const num2 = parseInt(v2[i])

    if (num1 > num2) {
      return 1
    } else if (num1 < num2) {
      return -1
    }
  }
  return 0
}

// 检测版本号后的处理,version: 比较的版本号, callback: 版本号低于的处理回调 
export const checkVersion = (version, callback) => {
  const v = wx.getSystemInfoSync().SDKVersion
  console.log('比较版本号系统：', v, '比较：', version);
  if (compareVersion(v, version) >= 0) {
    return true;
  } else {
    // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
    wx.showModal({
      title: '提示',
      content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。',
      showCancel: false,
      success: () => {
        callback()
      }
    })
    return false;
  }
}









